﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SimpleData.ObjectModel.Design
{
	/// <summary>
	/// Identifica para qual objeto a rule pertence
	/// </summary>
	public enum RuleKind
	{
		/// <summary>
		/// <see cref="Schema"/>
		/// </summary>
		Schema = 'S',

		/// <summary>
		/// <see cref="FieldDescriptor"/>
		/// </summary>
		Field = 'F',

		/// <summary>
		/// <see cref="FieldTypeDescriptor"/>
		/// </summary>
		FieldType = 'T'
	}

	/// <summary>
	/// Propriedade de um campo
	/// </summary>
	[Flags]
	public enum FieldProperties
	{
		/// <summary>
		/// Indica que o valor do campo deve ser armazenado no banco de dados
		/// </summary>
		Storage = 1,

		/// <summary>
		/// Indica que o valor do campo é pesquisável
		/// </summary>
		Searchable = 2 | Storage
	}
}
